'use strict'
const Version = new Date().getTime()

module.exports = {
	// 基本路径
	publicPath: './', // 可以设置成相对路径，这样所有的资源都会被链接为相对路径，打出来的包可以被部署在任意路径
	outputDir: 'dist', //打包时生成的生产环境构建文件的目录
	assetsDir: 'static', // 放置生成的静态资源 (js、css、img、fonts) 的 (相对于 outputDir 的) 目录
	productionSourceMap: false,
	lintOnSave: false,

	devServer: {
		port: '9090',
		// proxy: 'http://47.122.7.81:9999/',
		proxy: {
			'/jypw': {
				target: 'http://localhost:9099/',
				changeOrigin: true,
				ws: true,
				secure: false,
			},
			'/wiremap': {
				target: 'http://47.122.7.81:8080/',
				changeOrigin: true,
				ws: true,
				secure: false,
				pathRewrite: { '^/wiremap': '' },
			},
		},
		open: false, //运行成功，默认打开浏览器
		https: false, //是否启用HTTPS
		compress: true,
	},

	css: {
		// 是否使用css分离插件 ExtractTextPlugin
		extract: {
			// 修改打包后css文件名
			filename: `static/css/[name].${Version}.css`,
			chunkFilename: `static/css/[name].${Version}.css`,
			ignoreOrder: true,
		},
		loaderOptions: {
			sass: {
				prependData: '@import "./src/styles/variables.scss";',
			},
		},
	},
	configureWebpack: {
		devtool: 'source-map',
		output: {
			// 输出重构  打包编译后的 文件名称  【模块名称.版本号.时间戳】
			// filename: utils.assetsPath('js/[name].[chunkhash].'+Version+'js'),
			// chunkFilename: utils.assetsPath('js/[id].[chunkhash].'+Version+'js')
			filename: `static/js/[name].${Version}.js`,
			chunkFilename: `static/js/[name].${Version}.js`,
		},
		resolve: {
			alias: {
				'@': '/src', //本项目路径src路径设置别名为@
			},
		},
	},
	chainWebpack(config) {
		// img的文件名修改
		config.module
			.rule('images')
			.use('url-loader')
			.tap(options => {
				options.name = `static/img/[name].${Version}.[ext]`
				options.fallback = {
					loader: 'file-loader',
					options: {
						name: `static/img/[name].${Version}.[ext]`,
					},
				}
				return options
			})
	},
}
